import {INCREMENT} from './mutations-types'

export default {
  // 方法    默认参数state
  [INCREMENT](state) {
    state.counter++
  },
  decrement(state) {
    state.counter--
  },
  // 传递单个参数
  addCount(state,count) {
    state.counter += count;
    
    // 特殊方式传递时 count为对象 {type: "addCount", count: 5}
    // 此时count 最好取名为payload
    // state.counter += count.count

  },
  // 传递多个参数通过对象传递 
  addStudent(state,student) {
    // state.students.push({id: 6, name: '七七', age: 22})
    state.students.push(student)
  },
  updateInfo(state) {
    // state.info.name = "coderWhy"
    // 未提前定义的值修改，不是响应式，不会刷新
    // state.info['address'] = '洛杉矶'

    // 如果想要刷新修改方式
    //  set(要修改的对象，索引值，修改后的值)
    // Vue.set(state.info, 'address', '洛杉矶')

    // // 删除属性  
    // delete state.info.age   // 该方式无法坐到响应式
    // Vue.delete(state.info, 'age')  // 响应式方式


    // Mutation中异步请求仍然可以修改，但是devtools不能跟踪记录
    // Mutation 中不要使用异步操作，若是需要异步请求，可以在Action中操作
    
    // setTimeout(() => {      //错误代码，不能在这里异步操作
    //   state.info.name = "coderWhy"
    // }, 1000);

    state.info.name = "coderWhy"

  }


}